from django.utils.deprecation import MiddlewareMixin
from django.shortcuts import HttpResponse,redirect

class AuthMiddleware(MiddlewareMixin):
    """ 中间件1 ，用于用户登录认证权限控制"""
    def process_request(self, request):
        # 排除不需要登录就能访问的页面，如：login
        # request.path_info获取当前用户请求的URL /login/
        if request.path_info in ["/login/","/image/code/"]:
            # return 不写返回值等于是None，则会继续往后走
            return

        # 1，读取当前访问用户的session信息，如果能读到，说明登陆过，就可以继续向后走
        info_dict = request.session.get('info')
        # print(info_dict)
        if info_dict:
            return

        # 2,如果没有登录过,重定向到登录页面
        return redirect('/login/')